package com.cskaoyan.vo;

import lombok.Data;

/**
 * @author hsp
 * @date 2021/5/8 15:36
 */
@Data
public class BaseRespVo<T> {
    T data;//泛型数据，用户返回给客户端
    String errmsg;//告诉前端请求的消息
    long errno;//自己的前后端应用 ： 自定义的状态码 → 通常前端根据该状态码做不同的处理

    public static BaseRespVo ok(){
        BaseRespVo<Object> baseRespVo = new BaseRespVo<>();
        baseRespVo.setErrno(0);
        baseRespVo.setErrmsg("成功");
        return baseRespVo;
    }
    public static BaseRespVo ok(Object data){
        BaseRespVo<Object> baseRespVo = new BaseRespVo<>();
        baseRespVo.setData(data);
        baseRespVo.setErrno(0);
        baseRespVo.setErrmsg("成功");
        return baseRespVo;
    }
    public static BaseRespVo ok(Object data, String msg){
        BaseRespVo<Object> baseRespVo = new BaseRespVo<>();
        baseRespVo.setData(data);
        baseRespVo.setErrno(0);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }
    public static BaseRespVo fail(){
        BaseRespVo<Object> baseRespVo = new BaseRespVo<>();
        baseRespVo.setErrno(500);
        baseRespVo.setErrmsg("失败");
        return baseRespVo;
    }
    public static BaseRespVo fail(String msg){
        BaseRespVo<Object> baseRespVo = new BaseRespVo<>();
        baseRespVo.setErrno(500);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }

    public static BaseRespVo fail402(String msg){
        BaseRespVo<Object> baseRespVo = new BaseRespVo<>();
        baseRespVo.setErrno(402);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }
    public static BaseRespVo fail611(String msg){
        BaseRespVo<Object> baseRespVo = new BaseRespVo<>();
        baseRespVo.setErrno(611);
        baseRespVo.setErrmsg(msg);
        return baseRespVo;
    }
    public static BaseRespVo fail740(String errmsg){
        BaseRespVo<Object> baseRespVo = new BaseRespVo<>();
        baseRespVo.setErrno(740);
        baseRespVo.setErrmsg(errmsg);
        return baseRespVo;
    }
    public static BaseRespVo fail742(String errmsg){
        BaseRespVo<Object> baseRespVo = new BaseRespVo<>();
        baseRespVo.setErrno(742);
        baseRespVo.setErrmsg(errmsg);
        return baseRespVo;
    }
    public static BaseRespVo failStatus(Integer error,String errmsg){
        BaseRespVo<Object> baseRespVo = new BaseRespVo<>();
        baseRespVo.setErrno(error);
        baseRespVo.setErrmsg(errmsg);
        return baseRespVo;
    }

    public static BaseRespVo fail501(String errmsg){
        BaseRespVo<Object> baseRespVo = new BaseRespVo<>();
        baseRespVo.setErrno(501);
        baseRespVo.setErrmsg(errmsg);
        return baseRespVo;
    }

    public static BaseRespVo fail506(String errmsg){
        BaseRespVo<Object> baseRespVo = new BaseRespVo<>();
        baseRespVo.setErrno(506);
        baseRespVo.setErrmsg(errmsg);
        return baseRespVo;
    }

    public static BaseRespVo fail703(String errmsg) {

        BaseRespVo<Object> baseRespVo = new BaseRespVo<>();
        baseRespVo.setErrno(703);
        baseRespVo.setErrmsg(errmsg);
        return baseRespVo;
    }
}
